<?php
require('src/OrdenCompra.class.php');
require('src/Producto.class.php');

$id   	= (isset($_GET['id'])) ? $_GET['id']:0;
$cliId  = (isset($_GET['cliId'])) ? $_GET['cliId']:0;
?>

<script  type="text/javascript">
var id              = <?php echo $id; ?>;
var cliId           = <?php echo $cliId; ?>;
var tipoInsertar    = 0;
var objTabla        = {};
var i               = 0;
var iGlobal         = 0;
var esAdd           = false;
var data            = {  prod   : "",
                         prodId : 0,
                         cant   : 0,
                         idEle  : 0,
                         iocId  : 0
                        };
var ioc             = null;

$(document).ready(function(){
	$('#agregarOC').bind('click',  agregarRowModificar  );
	
}); 

function deleteElemento(id){
    var vector = id.split("eliminar");
    var elemento = objTabla[vector[0]+"elemento"] ;
    var vectorElemento = elemento.split("#");
    var prod= vectorElemento[3];
    var prodId= vectorElemento[1];
    var cant= vectorElemento[2];
    var idEle= vectorElemento[0];
    var idIoc= vectorElemento[5];

    agregarObj( vector[0], prodId, 	cant,	 prod, 3, 0, idIoc);
}
function modificarElemento(id){
    var vector = id.split("modificar");
    iGlobal = vector[0];
    var elementoModificar = objTabla[vector[0]+"elemento"].split("#");
    $('#prod').val(elementoModificar[3]);
    $('#prodId').val(elementoModificar[1]);
    $('#cant').val(elementoModificar[2]);
    $('#idElemento').val(elementoModificar[0]);
    $('#idIoc').val(elementoModificar[5]);
    $('#agregarOC').unbind();
    $('#agregarOC').bind('click', modificar);
}

   
function limpiarForm(){
    $("#prod").val("");
    $("#prodId").val(0);
    $("#cant").val("");
    $('#idElemento').val(0);
    $('#idIoc').val(0);
}
function agregarRow(){

    for(var x = 0, n = ifvArray.length; x < n ; x++){
        if(x==0){
            $("#nroFactura").val((ifvArray[x].fve_nro==0)?"":ifvArray[x].fve_nro );
            $("#nroControl").val((ifvArray[x].fve_nrocontrol==0)?"":ifvArray[x].fve_nrocontrol);
            $("#ciudad").val((ifvArray[x].fve_ciudad==null)?"":ifvArray[x].fve_ciudad);
            $("#tmpViaje").val((ifvArray[x].fve_tiempoviaje==0)?"":ifvArray[x].fve_tiempoviaje);
            $("#holgura").val((ifvArray[x].fve_holgura==0)?"":ifvArray[x].fve_holgura);
            $("#tmpEntrega").val((ifvArray[x].fve_tiempoentrega==0)?"":ifvArray[x].fve_tiempoentrega);
        }
        data = { prod   : ifvArray[x].pte_nombre,
                 prodId : ifvArray[x].pte_id,
                 cantOrd: ifvArray[x].ifv_cantordenada,
                 idEle  : 0,
                 ifvId  : ifvArray[x].ifv_id,
                 accion : 0,
                 precioU: ifvArray[x].pte_preciounitario,
                 cant   : ifvArray[x].ifv_cant,
                 imp    : ifvArray[x].imp_tasa
                };
        $('#idIoc').val(ifvArray[x].ifv_id);
        agregar(data);

    }
    //verDatos()
    
}

function agregar (data) {    
    i++;
	
    agregarObj(i, data.prodId, data.cantOrd, data.prod, data.accion , data.idEle, data.ifvId, data.imp, data.precioU);
	var costoUnitario   = data.precioU;
        var subTotal        = redondear2decimales(data.cantOrd*costoUnitario);
	var montoImpuesto   = data.cantOrd*costoUnitario*(data.imp/100);
	var total           = subTotal+montoImpuesto;
    var tds = "<tr id ='tr"+i+"'><td id='"+data.ifvId+"i'>"+i+"</td>"+
                      "<td>"+data.prod+"</td>"+
                      "<td> <input type='text' id='"+data.ifvId+"cantidadElemneto' value='"+data.cantOrd+"' style='width:70px'></input></td>"+
					  "<td id='"+data.ifvId+"costoUnitario'>"+costoUnitario+"</td>"+
					  "<td>"+
					  "<select name='"+data.ifvId+"comboImpuesto' id='"+data.ifvId+"comboImpuesto' style='width:100px'>"+
							"<option value='12' "+ ( (data.imp==12)?"selected":"")+" >12 %</option>"+
							"<option value='8'  "+ ( (data.imp==8)?"selected":"")+">8 %</option>"+
							"<option value='19' "+ ( (data.imp==19)?"selected":"")+">19 %</option>"+
							"<option value='0'  "+ ( (data.imp==0)?"selected":"")+">Exento/No Sujeto</option>"+
					  "</select>"+
					  "</td>"+
					  "<td> "+
					  	"</input> <input type='text' id='"+data.ifvId+"subTotal' name='subTotal"+data.ifvId+"' value='"+redondear2decimales(subTotal)+"' disabled=''  class='ssmall'></input>"+
					  "</td>"+
					  "<td> "+
					  	"<input type='text' value='"+redondear2decimales(montoImpuesto)+"'  id='"+data.ifvId+"montoImpuesto' name='montoImpuesto"+data.ifvId+"' disabled=''  class='ssmall'>" +
						"</td>"+
					  "<td> "+
						"</input> <input type='text' id='"+data.ifvId+"total' name='total"+data.ifvId+"' value='"+redondear2decimales(total)+"' disabled=''  class='ssmall'></input></td>"+
                    "</td></tr>";

    //limpiarForm();
    $("#tbl  > tbody:last").append(tds);
   // activarBotones(i);
	activarInput(data.ifvId);
	calcularTotal();

}
function activarBotones(i){
    $('#'+i+'eliminar').bind('click', function() {
        deleteElemento(this.id);
        $('#tr'+i).remove();
    });
    $('#'+i+'modificar').bind('click', function() {
        modificarElemento(this.id);
    });
}
function activarInput(i){

	$("#"+i+"cantidadElemneto").change(function() {
		recalcular(this.id,0);
	});
	$("#"+i+"comboImpuesto").change(function() {
		recalcular(this.id,1);
	});
}
function recalcular(id,cri){
	var criterio = cri==0?"cantidadElemneto":"comboImpuesto";
	var vector = id.split(criterio);
	
    var idLocal = vector[0];
	//var impuesto = $("#"+idLocal+"comboImpuesto").val();
	var id = $("#"+idLocal+"i").html();
	var impuesto = $("#"+idLocal+"comboImpuesto").val();
	var cantidad = $("#"+idLocal+"cantidadElemneto").val();
	var costoUni =$("#"+idLocal+"costoUnitario").html();
	var impMultiplicador = ((impuesto/100) + 1);
	$("#"+idLocal+"total").val(cantidad*costoUni*impMultiplicador);
	$("#"+idLocal+"montoImpuesto").val(cantidad*costoUni*(impuesto/100));
	$("#"+idLocal+"subTotal").val(cantidad*costoUni);
	
	
	calcularTotal();
	 var elementoModificar = objTabla[id+"elemento"].split("#");
    var prod = (elementoModificar[3]);
    var prodId = (elementoModificar[1]);
    var cant = cantidad; // elementoModificar[2]);
    var idElemento = (elementoModificar[0]);
    var idIoc = (elementoModificar[5]);
	var imp = impuesto;
	var precioU = (elementoModificar[7]);
	
 //   $('#agregarOC').unbind();
  //  $('#agregarOC').bind('click', modificar);
	
	//var objModificado =  objTabla[id+"elemento"] ;
	//alert(id+"#"+prodId+"#"+cant+"#"+prod+"#"+2+"#"+idElemento+"#"+ idIoc,imp);
	 agregarObj (id,prodId,cant,prod,2,idElemento, idIoc,imp,precioU)
	 //verDatos();
}
function calcularTotal(){
	var elementos = $('input[name*="total"]');
	
	var total = 0;
	elementos.each(function() {
		total =total+ parseFloat(($(this).val())) ;
		
	});
//	total
	var elementosImp = $('input[name*="montoImpuesto"]');
	
	var totalImp = 0;
	elementosImp.each(function() {
		totalImp = totalImp+parseFloat(($(this).val()) );
		
	});
	
	var elementosSub = $('input[name*="subTotal"]');
	
	var totalSub = 0;
	elementosSub.each(function() {
		totalSub = totalSub+parseFloat(($(this).val()) );
		
	});
	//alert("total:"+total+"\ntotalImp:"+totalImp+"\nsubtotal:"+totalSub);
	$("#mtoSub").val(redondear2decimales(totalSub));
	$("#mtoImp").val(redondear2decimales(totalImp));
	$("#mtoTot").val(redondear2decimales(total));
	

}
function agregarObj (i,prodId,cant,prod,accion,idEle, idIoc, imp, precioU){
    var idElemento = (tipoInsertar==0)? 0:idEle;
    //alert("--> "+idElemento+"#"+prodId+"#"+cant+"#"+prod+"#"+accion+"#"+idIoc);
    objTabla[i+"elemento"] = idElemento+"#"+prodId+"#"+cant+"#"+prod+"#"+accion+"#"+idIoc+"#"+imp+"#"+precioU;

}
function verDatos(){
	
	/*
	 //objTabla[i+"elemento"] = idElemento+"#"+prodId+"#"+cant+"#"+prod+"#"+accion+"#"+idIoc+"#"+imp;
	 alert('objTabla[i+"elemento"] '+objTabla[1+"elemento"] );
	 	 alert('objTabla[i+"elemento"] '+objTabla[2+"elemento"] );
		 */
		 for (x in objTabla){
         //           resultado = resultado +(objTabla[x] + "|");
		 		alert((objTabla[x] + "|"));
         }
		 

}
function agregarRowModificar(){
    
        if($('#formID1').validationEngine('validate')){
            data = { prod   : $('#prod').attr('value'),
                     prodId : $('#prodId').attr('value'),
                     cant   : $('#cant').attr('value'),
                     idEle  : $('#idElemento').attr('value'),
                     iocId  : $('#idIoc').attr('value'),
					 accion :1
                    };
            agregar(data);
   

        }
    
    
}
function redondear2decimales(numero){
    var original=parseFloat(numero);
    var result=Math.round(original*100)/100 ;
    return result;
}

</script>
<div id="stylized" class="myform" style="margin:20px auto;">
<form id="formID" class="z-form " method="post" action="">
<div id="material_comprado"  > </div>  
    
    <h2>Factura Venta</h2>
    <div class="z-form" style="padding: 0px 0px 0px 540px ;">
            <div style="float:right;">
                <label><span class="required">*</span>Nro. Factura</label>
                <input name="nroFactura" class="validate[required, custom[number]] text-input ssmall" type="text" id="nroFactura" />
            </div>
            <div  style="float:right;">
                <label><span class="required">*</span>Nro. Control</label>
                <input name="nroControl" class="validate[required, custom[number]] text-input ssmall" type="text" id="nroControl" />
            </div>
        
    </div>
<div class="clear"></div>
    <table>
    <tr>
        <td><span class="title">R.I.F.: </span><span id="lblRif" class="text"></span></td>
        <td><span class="title">Raz&oacute;n Social: </span><span id="lblRazonS" class="text"></span></td>
    </tr>
    <tr>
        <td><span class="title">Direcci&oacute;n Fiscal: </span><span id="lblDireccion" class="text"></span></td>
        <td></td>
    </tr>
    <tr>
        <td><span class="title">T&eacute;lefono: </span><span id="lblTelefono" class="text"></span></td>
        <td></td>
    </tr>
    </table>
    <p></p>
    </br>
    <table class="doc" id="tbl" >
        <thead>
            <tr>
                <th>&Iacute;tem</th>
                <th width="200px">Descripci&oacute;n</th>
                <th>Cantidad</th>
                <th>Precio Unitario</th>
                <th>Impuesto</th>
                <th>Sub Total</th>
                <th>Monto Impuesto</th>
                <th>Total</th>
            </tr>            
        </thead>
        <tbody>
        <tfoot>
            <tr>
                <td colspan="7" class="negrita">Monto Subtotal</td>
                <td><input type="text" disabled="" id="mtoSub" name="mtoSub" class="ssmall"></input></td>
            </tr>
            <tr>
                <td colspan="7" class="negrita">Monto Impuesto</td>
                <td><input type="text" disabled="" id="mtoImp" name="mtoImp" class="ssmall"></input></td>
            </tr>
            <tr>
                <td colspan="7" class="negrita">Monto Total</td>
                <td><input type="text" disabled="" id="mtoTot" name="mtoTot" class="ssmall"></input></td>
            </tr>
        </tfoot> 
        </tbody>
    </table>
</div>
<div class="z-form">
    <h3>Despacho</h3>
    <hr></hr>
        <div class="row">
            <div class="cell">
                <label><span class="required">*</span>Ciudad</label>
                <input name="ciudad" class="validate[required, custom[number]] text-input" type="text" id="ciudad" />
            </div>
            <div class="cell">
                <label><span class="required">*</span>Tiempo de Viaje</label>
                <input name="tmpViaje" class="validate[required, custom[number]] text-input " type="text" id="tmpViaje" />
            </div>
            <div class="cell">
                <label><span class="required">*</span>Holgura</label>
                <input name="holgura" class="validate[required, custom[number]] text-input" type="text" id="holgura" />
            </div>
            <div class="cell">
                <label><span class="required">*</span>Tiempo de Entrega</label>
                <input name="tmpEntrega" class="validate[required, custom[number]] text-input" type="text" id="tmpEntrega" />
            </div>            
        </div> 
</div>
</form>
</div>

